home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 44 / CDPowerplay44Disc2.iso / unreal / cool UT files / giants.umod < prev    next >
Encoding:
INI File  |  1999-11-01  |  10.5 KB  |  253 lines

  1. [Setup]
  2. Product=GIANTS!
  3. Version=100
  4. Archive=404_GIANTS_b2.umod
  5. SrcPath=.
  6. MasterPath=..
  7. Group=SetupGroup
  8. Group=umodINIGroup
  9. Group=404_GIANTS_b2Group
  10. Group=umodIncludeFilesGroup
  11.  
  12. [SetupGroup]
  13. Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=664,Flags=3)
  14. Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=210,Flags=3)
  15.  
  16. [umodINIGroup]
  17. Ini=System\Mutators.ini,404_GIANTS_b2.Giants.maxSize=1.5
  18. Ini=System\Mutators.ini,404_GIANTS_b2.Giants.MinSize=0.5
  19. Ini=System\Mutators.ini,404_GIANTS_b2.Giants.growthRate=1
  20. Ini=System\Mutators.ini,404_GIANTS_b2.Giants.respawnMaxSize=0.0
  21.  
  22. [404_GIANTS_b2Group]
  23. File=(Src=System\404_GIANTS_b2.u,Size=6997)
  24. File=(Src=System\404_GIANTS_b2.int,Size=264)
  25.  
  26. [umodIncludeFilesGroup]
  27. File=(Src=System\GIANTS_readme.txt,Size=2320)
  28.  
  29. [Setup]
  30. LocalProduct=GIANTS!
  31. ReadMe=System\GIANTS_readme.txt
  32. SetupWindowTitle=GIANTS!
  33. AutoplayWindowTitle=GIANTS! Options
  34. ProductURL=none
  35. VersionURL=none
  36. Developer=shiftre - Clan 404
  37. DeveloperURL=none
  38. ┴â*₧D5@≥ á<ä,y╙ú╕ΦW└o5NoneGiants
  39. ScoreKillPostBeginPlay
  40. ModifyPlayerEngineCore    MutatorsDeathMatchGameDeathMatchPlusPackageClass TextBufferObjectPawnLevel    GameInfo
  41. LevelInfoActorObjectPropertyCollisionHeight UnrealShare    Function
  42. DrawScale
  43. BoolPropertyKiller IntProperty NextMutatorGameCollisionRadius
  44. FragLimit
  45. TimeLimitSizeBotpackFloatPropertyMinSizeMutatorOtherflimittlimit
  46. sizeModifier baseHeight
  47. baseWidthkheightkradiusoheightoradius
  48. firstPass sizeBackup
  49. selfDeath growthRatemaxSizerespawnMaxSizeÇä@Çä@@@Çä
  50. 
  51.   ûZE    ┘Xé┤à?&- - (½Ö?& ½₧?&½▒ààa½ ½∞╣à∞░ààôw╕à½?D▒àà½à½ à
  52. a│-
  53. '½à?&╫wî*î å                  $Ω╝ƒûå≥Ö╨╣äτ╪Γäτ╪Γäτ╪Γå≥Ö╨╣äτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γäτ╪Γå≥Ö╨╣ç_ öDLç_ Å╢ö║ç_ Å╢ö║ç_ öDLç_ ëJ+║=ç_ ëJ+║=å≥Ö╨╣ÿÜ÷5- '-
  54. (*░?&└?BB▒?,
  55.  A_░═╠╠=?vv▒?&?ïû&&ƒƒû,,╣░?&╙╙▒7Äïa/!.ÅÄï¢
  56. .ÅÄï£ÿÿÄïa/!    .ëÄïá
  57. .ëÄïƒ╣¢%¼á@?σ┌¢
  58. %¼á@?
  59. σ═╠╠= ░═╠L=═╠L=▒Ç>Ç>3wî*î ù    ç╥
  60. óüü-     à]é-
  61. 
  62. ┤?&    à-
  63. (    a½ ½áwî*î      p    N|?//=============================================================================
  64. // Giants b0.50 
  65. // Author: 404|shiftre
  66. //
  67. // Basically this mod increases the player's size (model and bounding box) the 
  68. // more the player kills, and alternatively decreases the size the more the 
  69. // player dies
  70. //=============================================================================
  71.  
  72. class Giants expands Mutator config(Mutators);
  73.  
  74. var    float sizeModifier;        //Rate at which to change model size
  75. var float baseHeight;        //default Height of the bounding cylinder
  76. var float baseWidth;        //default Radius of the bounding cylinder
  77. var float sizeBackup;        //backup of DrawSize; used in self deaths
  78. var bool firstPass;            //flag determining first pass through code
  79. var bool selfDeath;            //flag determining selfDeath
  80.  
  81. var() config float maxSize;
  82. var() config float minSize;
  83. var() config int growthRate;
  84. var() config float respawnMaxSize;
  85.  
  86. function PostBeginPlay()
  87. {
  88.     local int flimit;
  89.     local int tlimit;
  90.     
  91.     firstPass = true;
  92.     selfDeath = false;
  93.     
  94.     if (maxSize<1)
  95.         maxSize = 1.5;
  96.     else if (maxSize>10)
  97.         maxSize = 10;
  98.         
  99.     if (minSize<0.1)
  100.         minSize = 0.5;
  101.     else if (minSize>1)
  102.         minSize = 0.5;
  103.             
  104.     if (growthRate<1)
  105.         growthRate = 1;
  106.     else if (growthRate<3)
  107.         growthRate = 3;    
  108.     
  109.     if (respawnMaxSize < 1)
  110.         respawnMaxSize = maxSize;
  111.     else if (respawnMaxSize > maxSize)
  112.         respawnMaxSize = maxSize;
  113.     
  114.     //Determine sizeModifier based on frag or time limit
  115.     if (Level.Game.IsA('DeathMatchGame')) {
  116.         flimit = DeathMatchGame(Level.Game).fragLimit;
  117.         tlimit = DeathMatchGame(Level.Game).timeLimit;
  118.     }    
  119.     else if (Level.Game.IsA('DeathMatchPlus')){
  120.         flimit = DeathMatchPlus(Level.Game).fragLimit;
  121.         tlimit = DeathMatchPlus(Level.Game).timeLimit;
  122.     }
  123.  
  124.     if (flimit != 0) {
  125.         sizeModifier = 5 / fLimit;
  126.     }
  127.     else if (tLimit != 0) {
  128.         sizeModifier = 5 / tLimit;
  129.     }    
  130.     else 
  131.         sizeModifier = 0.1;
  132.  
  133.     //Set's minimal size modifier
  134.     if (sizeModifier < 0.05) 
  135.         sizeModifier = 0.05;
  136.     //Set's max size modifier    
  137.     if (sizeModifier > 0.25)
  138.         sizeModifier = 0.25;    
  139.         
  140.     // take one down, pass it around, 99 bottles of mutator....
  141.     if ( NextMutator != None )
  142.         NextMutator.PostBeginPlay();    
  143. }
  144.  
  145. function ScoreKill(Pawn Killer, Pawn Other)
  146. {
  147.     local float kheight;
  148.     local float kradius;
  149.     local float oheight;
  150.     local float oradius;
  151.  
  152.     if (Killer.DrawScale == 1 && firstPass) {
  153.         firstPass = false;
  154.         baseHeight = Killer.CollisionHeight*1;
  155.         baseWidth = Killer.CollisionRadius*1;
  156.     }
  157.     
  158.     if (Other.DrawScale>respawnMaxSize) {
  159.         Other.DrawScale = respawnMaxSize;
  160.         Other.SetCollisionSize(baseWidth*respawnMaxSize, baseHeight*respawnMaxSize);
  161.     }
  162.     else {        
  163.         Other.DrawScale -= sizeModifier;
  164.         if (Other.DrawScale < minSize)
  165.             Other.DrawScale    = minSize;    
  166.     }
  167.     
  168.     if (Killer != Other)
  169.     {
  170.         //Increase player size on kill
  171.         Killer.DrawScale += sizeModifier*growthRate;
  172.         if (Killer.DrawScale > maxSize) {
  173.             Killer.DrawScale = maxSize;
  174.         }
  175.         //Increase collision height with kill
  176.         kheight = (baseHeight*Killer.DrawScale);
  177.     
  178.         //Increase collision Radius with kill
  179.         kradius = (baseWidth*Killer.DrawScale);
  180.             
  181.         Killer.SetCollisionSize(kradius, kheight);    
  182.     } else {
  183.         selfDeath = true;
  184.         sizeBackup = Other.DrawScale*1;
  185.     }
  186.  
  187.     // take one down, pass it around, 98 bottles of mutator....
  188.     if ( NextMutator != None )
  189.         NextMutator.ScoreKill(Killer, Other);
  190. }
  191.  
  192. //On restart (death) set collision size
  193. function ModifyPlayer(Pawn Other)
  194. {    
  195.         local float size;
  196.        
  197.         if (!firstPass) {        
  198.             size = Other.DrawScale;
  199.             //Check for conditions of falling death (off map), since this causes
  200.             //DrawSize to reset to normal.  If so use last backup size; Sheesh this is
  201.             //getting ugly.
  202.             if (selfDeath && size == 1) {
  203.                 Other.DrawScale = sizeBackup;
  204.                 selfDeath = false;    
  205.                 size = sizeBackup;
  206.             }
  207.             Other.SetCollisionSize(baseWidth*size, baseHeight*size);    
  208.         }
  209.                         
  210.         // take one down, pass it around, 97 bottles of mutator....
  211.         if ( NextMutator != None )
  212.             NextMutator.ModifyPlayer(Other);
  213. }
  214. 
  215. 
  216.           "²        $      ■   " ÷       
  217. !∙   ·   
  218. ²    ≤    ■    ■    ■    ■         ■    ·   ·    ■   
  219. "²   ²   ±   ±    ■    "²   ≈   ≈   É
  220. F
  221. ê( S
  222. ê3 _
  223. É%
  224. k
  225. ê4 x
  226. ê# Dê  PÆ2 \É%
  227. hô1 uê* Aô/ MÆ' YÆ& eê) qê0 }ê, Iê+ Uæûxaå$GYæÜW`æù|w!ò4G@s#ê- zcê. Fd[Public]
  228. Object=(Name=404_GIANTS_b2.Giants,Class=Class,MetaClass=Engine.Mutator,Description="GIANTS!")
  229.  
  230. Preferences=(Caption="Mutators",Parent="Advanced Options")
  231. Preferences=(Caption="Giants",Parent="Mutators",Class=404_GIANTS_b2.Giants.Giants,Immediate=True)Giants Mutator v1.2b
  232.  
  233. Short Disclaimer: This is my first attempt at creating a mutator/mod ever, so use at your own risk ;)
  234.  
  235.  
  236. NOTE: GIANTS is designed to be played on open maps such as Morpheus or Sesmar; indoor maps such as Turbine are a bit too small and will lead to more 'stuck' players
  237.  
  238. Description:  
  239.  
  240.     It's pretty simple, basically the more you frag the bigger you get and the more you die the smaller you get.  When bigger, you may find yourself unable to fit in certain spaces you once were, you may get stuck, and you'll find you are a lot easier to hit.  When small, you can slip through smaller spaces and you become a very hard target. This version GIANTS allows you to set the minimum and maximum size limitations, growth rate, and maximum respawn size (good for those indoor levels with respawn locations in small spaces.  
  241.  
  242. Instructions:
  243.  
  244.     As mentioned in the description there are four options that you may configure in the Advanced Menu in UT.  To access these, select Options/Advanced Options from your UT Menu bar. Then select Mutator/Giants to view the following list of attributes:
  245.  
  246.  - maxSize (1.0-10.0):          Sets the maximum size a player can grow to. Default is 1.5
  247.  - minSize (0.1-1.0);         Sets the minimum size a player can shrink to. Default is 0.5
  248.  - growthRate (1-3):         Sets the growth rate past normal size. Default is set to 1
  249.  - respawnMaxSize (1.0-10.0):    Sets the size limit when respawning the player for those levels with respawn locations in small spaces.  This is by default set to the maxSize value.
  250.  
  251. Known issues:
  252.  
  253.  - If the spawn location is smaller than your player size when you relocate, there is a chance you will be locked out of the game.  To avoid this, set the respawnMaxSize to one that you know will fit on all spawn locations of a given map
  254.  
  255.  - If in a confined space when growing large, you risk the chance of getting stuck, leaving you open for attack.  Set the maxSize according to the level you wish to play in order to avoid this.
  256.  
  257.  
  258. Planned in Next Version(s):
  259.  
  260.     - Added HitPoints when in Giant size
  261.     - Change weapon size in proportion with model size
  262.     - have Ducking reduce bounding box size to half in giant size
  263.     - open to any other good suggestions
  264.  
  265. Now have FUN!
  266.  
  267. -shiftre, Clan 404
  268. Suggestions: shiftre@hotmail.com
  269.  
  270.  
  271.  
  272. System\Manifest.ini#System\Manifest.int#╥System\404_GIANTS_b2.u⌡USystem\404_GIANTS_b2.intJSystem\GIANTS_readme.txtR     ú┼πƒb))*_(9